package Testing;

import java.text.ParseException;
import java.text.SimpleDateFormat;

import junit.framework.TestCase;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import Dominio.ApuestaData;
import Dominio.ApuestaUsuarioData;
import Dominio.Deporte;
import Dominio.Dom_Fachada;
import Dominio.DominioException;
import Dominio.PerfilData;
import Dominio.Rol;
import Dominio.UserData;

public class CdU5 extends TestCase {

	private PerfilData perfil_cliente;
	private ApuestaData apData; 
	private ApuestaUsuarioData aud;

	@Before
	public void setUp() throws Exception {
		perfil_cliente = new PerfilData(
				new UserData(10090909, "TEstClient", "ClientTest", "TEstTing",
						"Teting", 0f, "password", Rol.CLIENTE),
				"TestDirection", "somebody@somewhere.com", 3423432,
				"1956-02-02");
		apData = new ApuestaData(987, Deporte.FUTBOL, "Xloc", "XVis", 1.02f,
				1.55f, 1.99f, null,
				new SimpleDateFormat("yyyy-MM-dd").parse("2013-10-10"), false);
		try {
			new Dom_Fachada().createCliente(perfil_cliente);
			new Dom_Fachada().createApuesta(apData);
		} catch (DominioException e) {
		}
	}

	@After
	public void tearDown() throws Exception {
		try {
			new Dom_Fachada().deleteUser(perfil_cliente);
			new Dom_Fachada().deleteApuesta(apData);
		} catch (DominioException e) {
		}
	}

	@Test
	public void test() throws ParseException {
		//  Test CdU5: Apostar
		 
		// Test1: Apostar sin saldo
		aud = new ApuestaUsuarioData(apData, perfil_cliente, '1', 1.2f);
		try {
			new Dom_Fachada().apostar(aud);
			fail("El usuario apuesta sin saldo.");
		} catch (DominioException e) {
		}
		
		
		
	}
}
